<?php
class establecimiento_equiv_model extends CI_Model {

	public function __construct() {
		parent::__construct();
	}

	public function obtererPorId ($id=null) {
		$this->db->select('ID_ESTABLECIMIENTOS_EQUIV, NOMBRE, ID_ESTABLECIMIENTO,EXPRESION,ID_BANCO');
		$this->db->from('establecimientos_equiv');
		$this->db->where('ID_ESTABLECIMIENTOS_EQUIV', $id);
		$query = $this->db->get();
		return $query->row();
	}

	public function obtenerItemXNombre ($texto, $idBanco) {
		$this->db->select('ID_ESTABLECIMIENTOS_EQUIV, NOMBRE, ID_ESTABLECIMIENTO,EXPRESION,ID_BANCO');
		$this->db->from('establecimientos_equiv');
		$this->db->where('LOWER(NOMBRE)', strtolower($texto));
		$this->db->where('ID_BANCO', $idBanco);
		$query = $this->db->get();
		return $query->row();
	}

	public function obtererLista ($texto, $limite, $inicio) {
		$consulta = "SELECT EE.ID_ESTABLECIMIENTOS_EQUIV, EE.NOMBRE AS EQUIVALENCIA, ES.ID_ESTABLECIMIENTO,
				ES.NOMBRE AS ESTABLECIMIENTO, EXPRESION, EE.ID_BANCO,BA.NOMBRE AS BANCO 
				FROM establecimientos_equiv EE LEFT JOIN establecimientos ES
				ON EE.ID_ESTABLECIMIENTO=ES.ID_ESTABLECIMIENTO LEFT JOIN bancos BA on EE.ID_BANCO=BA.ID_BANCO";
		if ($texto!=null && $texto!='') {
			$consulta = $consulta . " WHERE EE.NOMBRE like '%$texto%'";
		}
		$consulta =  $consulta . " LIMIT $limite OFFSET $inicio";
		
		$query = $this->db->query($consulta);
		return $query->result();
	}

	public function itemsLista ($texto) {
		$consulta = "SELECT count(EE.ID_ESTABLECIMIENTOS_EQUIV) AS CANTIDAD
				FROM establecimientos_equiv EE LEFT JOIN establecimientos ES
				ON EE.ID_ESTABLECIMIENTO=ES.ID_ESTABLECIMIENTO LEFT JOIN bancos BA on EE.ID_BANCO=BA.ID_BANCO";
		if ($texto!=null && $texto!='') {
			$consulta = $consulta . " WHERE EE.NOMBRE like '%$texto%'";
		}
		
		$query = $this->db->query($consulta);
		return $query->row()->CANTIDAD;
	}

	public function obtererSinEquiv ($texto, $limite, $inicio) {
		$consulta = "SELECT EE.ID_ESTABLECIMIENTOS_EQUIV, EE.NOMBRE AS EQUIVALENCIA, ES.ID_ESTABLECIMIENTO,
				ES.NOMBRE AS ESTABLECIMIENTO, EXPRESION, BA.ID_BANCO,BA.NOMBRE AS BANCO FROM establecimientos_equiv EE 
				LEFT JOIN establecimientos ES ON EE.ID_ESTABLECIMIENTO=ES.ID_ESTABLECIMIENTO 
				LEFT JOIN bancos BA on EE.ID_BANCO=BA.ID_BANCO WHERE EE.ID_ESTABLECIMIENTO IS NULL";
		if ($texto!=null && $texto!='') {
			$consulta = $consulta . " AND EE.NOMBRE like '%$texto%'";
		}
		$consulta =  $consulta . " LIMIT $limite OFFSET $inicio";
		
		$query = $this->db->query($consulta);
		return $query->result();
	}

	public function itemsSinEquiv ($texto) {
		$consulta = "SELECT count(EE.ID_ESTABLECIMIENTOS_EQUIV) AS CANTIDAD
				FROM establecimientos_equiv EE LEFT JOIN establecimientos ES
				ON EE.ID_ESTABLECIMIENTO=ES.ID_ESTABLECIMIENTO
				LEFT JOIN bancos BA on EE.ID_BANCO=BA.ID_BANCO
				WHERE EE.ID_ESTABLECIMIENTO IS NULL";
		if ($texto!=null && $texto!='') {
			$consulta = $consulta . " AND EE.NOMBRE like '%$texto%'";
		}

		$query = $this->db->query($consulta);
		return $query->row()->CANTIDAD;
	}
	
	public function agregarEstablecimiento ($idEstabEquiv, $idEstablecimiento) {
		$data = array(
		   'ID_ESTABLECIMIENTO' => $idEstablecimiento
		);
		$this->db->where('ID_ESTABLECIMIENTOS_EQUIV', $idEstabEquiv);
		$this->db->update('establecimientos_equiv', $data);
	}
	
	public function actualizar ($idEstabEquiv, $nombre, $idEstablecimiento, $expresion, $idBanco) {
		$data = array(
			'NOMBRE' => $nombre,
			'ID_ESTABLECIMIENTO' => $idEstablecimiento,
			'EXPRESION' => $expresion,
			'ID_BANCO' => $idBanco
		);
		$this->db->where('ID_ESTABLECIMIENTOS_EQUIV', $idEstabEquiv);
		$this->db->update('establecimientos_equiv', $data);
	}

	public function guardar ($nombre, $idEstablecimiento, $expresion, $idBanco) {
		$data = array(
			'NOMBRE' => $nombre,
			'ID_ESTABLECIMIENTO' => $idEstablecimiento,
			'EXPRESION' => $expresion,
			'ID_BANCO' => $idBanco
		);

		$this->db->insert('establecimientos_equiv', $data);

		return $this->db->insert_id();
	}
	
	public function obtenerPorExpresion ($idBanco, $expresion) {
		$this->db->select('ID_ESTABLECIMIENTOS_EQUIV, NOMBRE, ID_ESTABLECIMIENTO,EXPRESION,ID_BANCO');
		$this->db->from('establecimientos_equiv');
		$this->db->where('EXPRESION', $expresion);
		$this->db->where('ID_BANCO', $idBanco);
		$query = $this->db->get();
		return $query->result();
	}
}